/*
 *    Copyright (c) 2018-2025, fanxl All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: fanxl (wangiegie@gmail.com)
 */

package com.snow4cloud.common.model.admin.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 市场营销活动
 *
 * @author fanxl
 * @date 2021-03-22 09:39:54
 */
@Data
@TableName("crm_market_act")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "市场营销活动")
public class MarketAct extends Model<MarketAct> {
	private static final long serialVersionUID = 1L;

	/**
	 * 市场ID
	 */
	@TableId(type = IdType.INPUT)
	@ApiModelProperty(value = "市场ID")
	private String marketId;
	/**
	 * 活动名称
	 */
	@ApiModelProperty(value = "活动名称")
	private String marketName;
	/**
	 * 拼音简码
	 */
	@ApiModelProperty(value = "拼音简码")
	private String singleCode;
	/**
	 * 活动类型
	 */
	@ApiModelProperty(value = "活动类型")
	private String marketType;
	/**
	 * 计划开始日期
	 */
	@ApiModelProperty(value = "计划开始日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime planStartDate;
	/**
	 * 计划结束日期
	 */
	@ApiModelProperty(value = "计划结束日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime planEndDate;
	/**
	 * 实际开始日期
	 */
	@ApiModelProperty(value = "实际开始日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime startDate;
	/**
	 * 实际结束日期
	 */
	@ApiModelProperty(value = "实际结束日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private LocalDateTime endDate;
	/**
	 * 阶段总预算
	 */
	@ApiModelProperty(value = "阶段总预算")
	private BigDecimal stageTotalBudget;
	/**
	 * 其它成本
	 */
	@ApiModelProperty(value = "其它成本")
	private BigDecimal otherCost;
	/**
	 * 活动总预算
	 */
	@ApiModelProperty(value = "活动总预算")
	private BigDecimal totalBudget;
	/**
	 * 实际成本
	 */
	@ApiModelProperty(value = "实际成本")
	private BigDecimal cost;
	/**
	 * 预计收入
	 */
	@ApiModelProperty(value = "预计收入")
	private BigDecimal estimatedIncome;
	/**
	 * 预计机会数
	 */
	@ApiModelProperty(value = "预计机会数")
	private BigDecimal expectedOpportunities;
	/**
	 * 预期响应
	 */
	@ApiModelProperty(value = "预期响应")
	private String expectedResponse;
	/**
	 * 目的
	 */
	@ApiModelProperty(value = "目的")
	private String purpose;
	/**
	 * 活动内容
	 */
	@ApiModelProperty(value = "活动内容")
	private String remark;
	/**
	 * 活动说明
	 */
	@ApiModelProperty(value = "活动说明")
	private String marketDesc;
	/**
	 * 活动状态
	 */
	@ApiModelProperty(value = "活动状态")
	private String status;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private LocalDateTime createTime;
	/**
	 * 修改时间
	 */
	@ApiModelProperty(value = "修改时间")
	private LocalDateTime modifyTime;
}
